3.8 获取form表单上传的文件
Html7
< html >
< head >
< meta charset="UTF-8" >
< meta http-equiv="X-UA-Compatible" content="ie=edge" >
< title > Document < /title >
< /head >
< body >
< form action="http://127.0.0.1:8000/app03/test7" method="post" enctype="multipart/form-data" >
< P > 请选择文件: < input type="file" name="file123" > < /P >
< input type="submit" value="上传" >
< /form >
< /body >
< /html >
url:
from django.urls import path
from . import views
urlpatterns = [
path("test",views.test),
#一旦调用test1, 那么kwargs将会以关键字的a=100,b=200这样的形式传给test1
path("test1", views.test1,kwargs={"a":100,"b":200}),
#test2(request,year,month
path("test2/ < year > / < month > ", views.test2),
path("test3", views.test3),
path("test5", views.test5),
path("test6", views.test6),
path("test7", views.test7),
]
views:
def test7(request):
# print(request.body) #这个数据打印出来会很大
print(request.POST)
print(request.FILES)
print(type(request.FILES.get("file123")))
file=request.FILES.get("file123")
with open(file.name,"wb") as f:
for line in file.chunks():
f.write(line)
return HttpResponse("显示form")
返回:
< QueryDict: {} >
< MultiValueDict: {'file123': [ < InMemoryUploadedFile: 字段名清单123.xlsb (application/vnd.ms-excel.sheet.binary.macroenabled.12) > ]} >
< class 'django.core.files.uploadedfile.InMemoryUploadedFile' >
[19/May/2024 10:21:37] "POST /app03/test7 HTTP/1.1" 200 10